import { fileURLToPath, URL } from "node:url";

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";

// https://vitejs.dev/config/
export default defineConfig({
  // 基础路径
  base: "xy",
  // 开发运行配置
  server: {
    // 访问路径开放，0.0.0.0表示完全开放
    host: "0.0.0.0",
    // 端口号
    port: 8448,
    // 为开发服务器配置 CORS , 默认启用并允许任何源
    cors: true,
    // 服务启动时自动在浏览器打开
    open: true,
    // 设为true时端口被占用则直接退出，不会尝试下一个可用端口
    strictPort: false,
    // 跨域反向代理
    proxy: {},
  },
  // 打包配置
  build: {
    //浏览器兼容性  "esnext"|"modules"
    target: "modules",
    //指定输出路径
    outDir: "dist_mine",
    //生成静态资源的存放路径
    assetsDir: "assets",
    //小于此阈值的导入或引用资源将内联为 base64 编码，以避免额外的 http 请求。设置为 0 可以完全禁用此项
    assetsInlineLimit: 4096,
    //启用/禁用 CSS 代码拆分
    cssCodeSplit: true,
    //构建后是否生成 source map 文件
    sourcemap: false,
    //自定义底层的 Rollup 打包配置
    rollupOptions: {},
  },
  // publicDir: 'public', // 静态资源服务文件夹
  plugins: [vue(), vueJsx()],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
});
